/**

 @Name：CLTPHP 会员
 @Author：chichu
 @Site：http://www.cltphp.com/admin/
 @License：LPPL
 */
layui.define(['admin', 'table', 'util', 'form'], function (exports) {
    var $ = layui.$, admin = layui.admin, table = layui.table, element = layui.element, form = layui.form;
    //全部数据
    tableIn = table.render({
        elem: '#list',
        url: '/admin/users/index',
        method: 'post',
        autoSort: false,
        cols: [[
            {type: 'checkbox', fixed: true},
            {field: 'id', title: 'ID', width: 80, fixed: true},
            {field: 'username', title: '用户名', width: 120},
            {field: 'mobile', title: '电话', width: 150},
            {field: 'create_time', title: '注册时间', width: 180},
            {width: 160, align: 'center', toolbar: '#action'}
        ]],
        page: true
    });

    //监听排序事件
    table.on('sort(list)', function(obj){
        table.reload('list', {
            initSort: obj
            ,where: {sort_by: obj.field,sort_order: obj.type}
        });
    });
    //修改字段
    table.on('edit(list)', function(obj){
        var param={};
        param[obj.field] = obj.value;
        param['id'] = obj.data.id;
        cf(param);
    });
    //改变会员状态
    form.on('switch(status)', function (obj) {
        var param={};
        param[obj.elem.name] = obj.elem.checked===true?1:0;
        param['id'] = this.value;
        cf(param);
    });
    function cf(param){
        admin.req({
            url: '/admin/users/cf',
            data: param,
            type:'post',
            success: function (res) {
                if(res.code==0){
                    layer.msg(res.msg,{time:1000,icon:1});
                }
                tableIn.reload();
            }
        });
    }
    //监听工具条
    table.on('tool(list)', function (obj) {
        var data = obj.data;
        var id = data.id;
        if (obj.event === 'del') {
            layer.confirm('您确定要删除该会员吗？', function () {
                admin.req({
                    url: '/admin/users/del/'
                    , type: 'post'
                    , data: {'id': id}
                    , success: function (res) {
                        layer.closeAll('dialog');
                        if (res.code == 0) {
                            layer.msg(res.msg, {icon: 1, time: 1000}, function () {
                                obj.del();
                            });
                        }
                    }
                });
            });
        } else if (obj.event === 'edit') {
            var index = layer.open({
                type: 2,
                content: '/admin/users/edit/id/' + id,
                area: ['300px', '300px'],
                maxmin: true
            });
            layer.full(index);
        } else if (obj.event === 'charge') {
            var index = layer.open({
                type: 2,
                content: '/admin/users/recharge/id/' + id,
                area: ['300px', '300px'],
                maxmin: true
            });
            layer.full(index);
        }
    });

    //编辑提交
    form.on('submit(edit-btn)', function (data) {
        admin.req({
            url: '/admin/users/edit/' //实际使用请改成服务端真实接口
            , type: 'post'
            , data: data.field
            , done: function (res) {
                layer.msg(res.msg, {icon: 1, time: 1000}, function () {
                    layer.closeAll("iframe");
                    //刷新父页面
                    parent.location.reload();
                });
            }
        });
    });
    //地区联动
    form.on('select(province)', function (data) {
        var pid = data.value;
        var loading = layer.load(1, {shade: [0.1, '#fff']});
        $.get("/admin/users/getRegion.html?pid=" + pid, function (data) {
            layer.close(loading);
            var html = '<option value="">请选择市</option>';
            $.each(data, function (i, value) {
                html += '<option value="' + value.id + '">' + value.name + '</option>';
            });
            $('#city').html(html);
            $('#area').html('<option value="">请选择县/区</option>');
            form.render()
        });
    });
    form.on('select(city)', function (data) {
        var pid = data.value;
        var loading = layer.load(1, {shade: [0.1, '#fff']});
        $.get("/admin/users/getRegion.html?pid=" + pid, function (data) {
            layer.close(loading);
            var html = '<option value="">请选择县/区</option>';
            $.each(data, function (i, value) {
                html += '<option value="' + value.id + '">' + value.name + '</option>';
            });
            $('#area').html(html);

            form.render()
        });
    });

    var active = {
        reload: function () {
            var key = $('#key').val();
            //执行重载
            table.reload('list', {
                page: {
                    curr: 1 //重新从第 1 页开始
                }
                , where: {
                    key: key
                }
            });
        },
        direct: function () {
            var checkStatus = table.checkStatus('list'), data = checkStatus.data; //获得选中的数据
            if (data.length === 0) return layer.msg('未选中行');
            var ids = [];
            $.each(data, function (i, val) {
                ids[i] = val['id'];
            });
            layer.confirm('确定删除所选管理员吗？', function () {
                admin.req({
                    url: '/admin/users/delAll/'
                    , type: 'post'
                    , data: {ids: ids}
                    , success: function (res) {
                        layer.closeAll('dialog');
                        if (res.code == 0) {
                            layer.msg(res.msg, {icon: 1, time: 1000}, function () {
                                tableIn.reload();
                            });
                        }
                    }
                });
            });
        }
    };
    $('.table-head-btn .layui-btn').on('click', function () {
        var type = $(this).data('type');
        active[type] ? active[type].call(this) : '';
    });
    exports('users', {});
});